package com.crazyhat.crazyhat.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.crazyhat.crazyhat.dto.CommentDTO;
import com.crazyhat.crazyhat.dto.PostAndCommentInfoDTO;
import com.crazyhat.crazyhat.entity.Comment;

/**
 * <p>
 * 评论 服务类
 * </p>
 *
 * @author crazyhat
 * @since 2024-07-05
 */
public interface ICommentService extends IService<Comment> {

    /**
     * 删除评论
     * @param commentId
     * @return
     */
    boolean deleteComment(Integer commentId);

    /**
     * 获取动态的评论列表，分页
     * @param postId
     * @param pageNum
     * @param pageSize
     * @return
     */
    Page<CommentDTO> getCommentListByPage(Integer postId, Integer pageNum, Integer pageSize);

    /**
     * 获取动态的全部评论
     * @param postId
     * @return
     */
    List<CommentDTO> getCommentList(Integer postId);

    /**
     * 发布评论
     * @param comment
     * @return
     */
    Comment createComment(Comment comment);

    /**
     * 获取动态及评论列表
     * @param postId
     * @return
     */
    PostAndCommentInfoDTO getPostAndCommentInfo(Integer postId);

}
